package cn.cubic.sys.modular.buyrelation.model.param;

import cn.cubic.core.pojo.base.param.BaseParam;

import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;

/**
 * 购买关系表
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BuyRelationParam extends BaseParam {

    /**
     * id
     */
    @NotNull(message = "id不能为空",groups = {edit.class})
    private Long id;

    /**
     * 店铺ID
     */
    @NotNull(message = "店铺ID不能为空",groups = {add.class,edit.class})
    private String eAppId;

    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空",groups = {add.class,edit.class})
    private String eUserId;

    /**
     * 资源id
     */
    @NotNull(message = "资源id不能为空",groups = {add.class,edit.class})
    private String eProductId;

    /**
     * 资源图片地址
     */
    @NotNull(message = "资源图片地址不能为空",groups = {add.class,edit.class})
    private String imgUrl;

    /**
     * 资源名称
     */
    @NotNull(message = "资源名称不能为空",groups = {add.class,edit.class})
    private String purchaseName;

    /**
     * 购买类型：2-单品，3-产品包，15-超级会员
     */
    @NotNull(message = "购买类型：2-单品，3-产品包，15-超级会员不能为空",groups = {add.class,edit.class})
    private Integer paymentType;

    /**
     * resource_type
     */
    @NotNull(message = "resource_type不能为空",groups = {add.class,edit.class})
    private Integer resourceType;

    /**
     * 过期时间（会员与超级会员有过期时间，其他资源字段为空），为空时代表永久有效
     */
    @NotNull(message = "过期时间（会员与超级会员有过期时间，其他资源字段为空），为空时代表永久有效不能为空",groups = {add.class,edit.class})
    private String expireAt;

    /**
     * 价格，单位分
     */
    @NotNull(message = "价格，单位分不能为空",groups = {add.class,edit.class})
    private Integer price;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空",groups = {add.class,edit.class})
    private Date createdAt;

    /**
     * 更新时间
     */
    @NotNull(message = "更新时间不能为空",groups = {add.class,edit.class})
    private Date updatedAt;

}
